form {
	@include clearfix;

	margin: 0;
	padding: 0;
}

	// Each field
	form p {
		
	}

		// Label
		label {
			font-weight: bold;
		}

		// Label after radios/checks
		input + label {
			font-weight: normal;
		}

			// "Required field"
			label > abbr:first-child {
				color: #a00;
				border: 0;
			}

		// After label
		br {
			
		}

		// All form fields
		button, 
		input, 
		select, 
		textarea {
			font: inherit;
			color: #333;
			text-shadow: none;
		}

		// Inputs and textareas (not buttons or radios/checks)
		input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]), 
		textarea {
			background: #fff;
			padding: 4px;
			border: 1px solid #d6d6d6;
			@include border-radius(2px);
		}

		// Hovered
		input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):hover, 
		textarea:hover {
			border-color: #b6b6b6;
		}

		// Focused
		input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):focus, 
		textarea:focus {
			background-color: #faffbd;
			border-color: #b6b6b6;
		}

		// With error
		input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]).error, 
		textarea.error {
			background-color: #fdd;
			border-color: #a00;
		}

		// Radios
		input[type=checkbox], 
		input[type=radio] {
			margin-right: 5px;
		}

		// Errors
		form p strong {
			color: #a00;
		}
